namespace SimpleFactory.SimpleFactory
{
    public enum Category
    {
        A,
        B
    }

    /*
     * 使用静态的原因:
     *    客户端太多地方需要Factory，全都使用new，对内存有一定影响。PC端还好，移动端内存有限，所以使用静态工厂
     */
    public static class StaticFactory
    {
        public static IProduct Create(Category category)
        {
            switch (category)
            {
                case Category.A:
                    return new ConcreteProductA();
                case Category.B:
                    return new ConcreteProductB();
                default:
                    throw new NotSupportedException();
            }
        }
    }
}